﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ED_Nivelacion.Negocios;

namespace ED_Nivelacion.PresentacionWeb
{
    public partial class frm_Paralelo : System.Web.UI.Page
    {
        Carrera_C _objCarrera_C = new Carrera_C();
        Periodo_C _objPeriodo_C = new Periodo_C();
        Paralelo_C _objParalelo_C = new Paralelo_C();
        Paralelo _objParalelo = new Paralelo();
        Asignatura _objAsignatura = new Asignatura();
        Asignatura_C _objAsignatura_C = new Asignatura_C();
        Docencia _objDocencia = new Docencia();
        Docente_C _objDocencia_C = new Docente_C();
        DistribucionAcademica_C _objAcademico_C = new DistribucionAcademica_C();
        DistribucionAcademica _objAcademico = new DistribucionAcademica();

        protected void Page_Load(object sender, EventArgs e)
        {

            if (Session["tipoUsuario"] != null)
            {
                if (Session["tipoUsuario"].ToString() != "Administrador")
                {
                    if (Session["tipoUsuario"].ToString() == "Docente")
                    {
                        Response.Redirect("frm_InicioDocente.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Coordinador")
                    {
                        Response.Redirect("frm_InicioCoordinador.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Estudiante")
                    {
                        Response.Redirect("frm_InicioEstudiante.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Tutor")
                    {
                        Response.Redirect("frm_InicioTutor.aspx");
                    }
                }
            }
            else
            {
                Response.Redirect("frm_Login.aspx");
            }

            if (!IsPostBack)
            {

                cbm_Carreras.DataSource = _objCarrera_C.ObtenerCarrera();
                cbm_Carreras.DataValueField = "idCarrera";
                cbm_Carreras.DataTextField = "CarreraNombre";
                cbm_Carreras.DataBind();

                //cbm_Periodo.DataSource = _objPeriodo_C.ObtenerPeriodo();
                //cbm_Periodo.DataValueField = "idPeriodo";
                //cbm_Periodo.DataTextField = "Nombre_Periodo";
                //cbm_Periodo.DataBind();


                CbmMateria.DataSource = _objAsignatura_C.ObtenerAsignatura();
                CbmMateria.DataValueField = "idAsignatura";
                CbmMateria.DataTextField = "Nombre_Asignatura";
                CbmMateria.DataBind();


                CbmDocente.DataSource = _objDocencia_C.ObtenerDocencia();
                CbmDocente.DataValueField = "idDocente";
                CbmDocente.DataTextField = "Nombres";
                CbmDocente.DataBind();
            }
        }

        protected void btm_Agregar_Click(object sender, EventArgs e)
        {
            if (idcarrera.Text == "" || cbm_Paralelo.SelectedItem.Value == "")
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('Todos los campos son Obligatorios');", true);
                Timer1.Enabled = true;
            }
            else
            {
                GuardarParalelo();
            }
        }

        void GuardarParalelo()
        {
            int Carrera_ = int.Parse(idcarrera.Text);
            int PeriodoC = _objPeriodo_C.ObtenerPeriodo().Last().idPeriodo;
            string Descripcion = cbm_Paralelo.Text;

            _objParalelo.idCarrera = Carrera_;
            _objParalelo.idPeriodo = PeriodoC;
            _objParalelo.ParaleloNombre = Descripcion;

            string msn = _objParalelo_C.AgregarParalelo(_objParalelo);

            if (msn == "OK")
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:sucessMessage('Paralelo Agregado Correctamente');", true);
                Timer1.Enabled = true;
            }
            else {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('" + msn + "');", true);
                Timer1.Enabled = true;
            }
        }

        protected void EditarBtn_Click(object sender, EventArgs e)
        {
            if (idParalelo.Text == "" || cbm_Paralelo.SelectedItem.Value == "" || cbm_Paralelo.Text == "")
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('El Sistema no detecto el registro deseado');", true);
                Timer1.Enabled = true;
            }
            else {
                ModificarParalelo(); 
            }
            
        }

        void ModificarParalelo()
        {
            var id = idParalelo.Text;
            string Carrera = cbm_Carreras.SelectedValue;
            var Periodo = _objPeriodo_C.ObtenerPeriodo().Last().idPeriodo;
            string Descripcion = cbm_Paralelo.Text;

            _objParalelo.idParalelo = int.Parse(id);
            _objParalelo.idCarrera = int.Parse(Carrera);
            _objParalelo.idPeriodo = Periodo;
            _objParalelo.ParaleloNombre = Descripcion;

            string msn = _objParalelo_C.EditarParalelo(_objParalelo);

            if (msn == "OK")
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:sucessMessage('Paralelo Modificado Correctamente');", true);
                Timer1.Enabled = true;
            }
            else
            {
                ClientScript.RegisterStartupScript(GetType(), "jsMensaje", "javascript:errorMessage('" + msn + "');", true);
                Timer1.Enabled = true;
            }
        }

        protected void Delete_Click(object sender, EventArgs e)
        {

            Eliminar_Paralelo();

        }

        void Eliminar_Paralelo()
        {

            var id = idEliminar.Text;
            _objParalelo_C.EliminarParalelo(int.Parse(id));
 
        }
    }
}